Git Workflow
Note, this article is going to make use of git jargon, and expect an understanding of git via the required trainings prior to being able to merge.
Workflow
1. Identify task to be completed
Steps 1-2 may have already been completed by someone else. If this is the case skip to the beginning of Step #2.
Here are some questions to consider when you're identifying a task, or feature.
- Think what files may be affected by this change
- Think what tests may need to be written to confirm this change is accurate
- Think what impact this change will have on the production application (e.g., would it require a new release?)
- What project does this task affect (i.e., so we know where to create the issue)
- Who might have experience in this area already (to either assign to them, or ask for help if it comes to it)
- How urgent is this task? Could it wait until next quarter?
2. Create a ticket for this task
Every piece of work requires an associated ticket. This is how we know what is being done, and who it is being done by. If you are working on a ticket assign yourself via the interface and move on to step #3.
3. Pull master
Make sure you are in the working directory of the responsible project. In order to make sure we don't run into merge conflicts and that we're working off of the latest code, before making any changes make sure you are using the latest version of master by fetching and subsequently pulling.
git pull
Alternatively you can do it via the VSCode interface.

4. Branch from master to a named branch
This is an important step. We never, ever commit code directly to master, especially after that project has already been deployed and has continuous deployment/integration in place.
We need to create a branch from master, although we have an important naming convention in place. Please name your branch
{github-username}/{issue-number}-{20-character-hyphenated-description}
The slash indicates a folder, this will group all of your branches under one namespace, so we know who is responsible for that branch.

TODO